package com.kakaxi.mybilibili.viewholder;

import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.kakaxi.mybilibili.R;
import com.kakaxi.mybilibili.bean.SerializingItemBean;

/**
 * 番剧信息视图持久化
 * Created by kakaxi on 16/10/19.
 */

public class SerializingViewHolder extends RecyclerView.ViewHolder {

    /** 封面图片控件 **/
    public ImageView mPhotoImg;

    /** 标题名称文本控件 **/
    public TextView mNameTxt;

    /** 更新话数文本控件 **/
    public TextView mUpdateTxt;

    /** 观看人数文本控件 **/
    public TextView mWatchCountTxt;

    /** 是否为最新连载的布局,或者是上一季度的布局 **/
    private boolean mIsNew;

    /** 对应的数据信息类 **/
    private SerializingItemBean mSerializingItemBean;

    /**
     * 创建连载视图持久化
     *
     * @param itemView 布局
     * @param isNew    是否为最新连载的布局
     */
    public SerializingViewHolder(View itemView, boolean isNew) {
        super(itemView);
        this.mIsNew = isNew;
        if (isNew) {
            mNameTxt = (TextView) itemView.findViewById(R.id.txt_drama_new_content_name);
            mUpdateTxt = (TextView) itemView.findViewById(R.id.txt_drama_new_content_update);
            mWatchCountTxt = (TextView) itemView.findViewById(R.id.txt_drama_new_content_count);
            mPhotoImg = (ImageView) itemView.findViewById(R.id.img_drama_new_content_photo);
        } else {
            mNameTxt = (TextView) itemView.findViewById(R.id.txt_drama_last_content_name);
            mWatchCountTxt = (TextView) itemView.findViewById(R.id.txt_drama_last_content_count);
            mPhotoImg = (ImageView) itemView.findViewById(R.id.img_drama_last_content_photo);
        }
    }

    /**
     * 设置数据
     *
     * @param serializingItemBean 番剧数据信息类
     */
    public void setData(SerializingItemBean serializingItemBean) {
        if (serializingItemBean != null) {
            mSerializingItemBean = serializingItemBean;
            // 加载封面和标题名称
            Glide.with(mPhotoImg.getContext()).load(serializingItemBean.getCover()).into(mPhotoImg);
//            Netroid.displayImage(serializingItemBean.getCover(), mPhotoImg);
            mNameTxt.setText(serializingItemBean.getTitle());
            // 最新与上季度连载的数据加载分开处理
            if (mIsNew) {
                String epIndex = serializingItemBean.getNewestEpIndex();
                try {
                    // 当文本以话数显示时,会改造成第几话
                    mUpdateTxt.setText("更新至第" + Integer.parseInt(epIndex) + "话");
                } catch (NumberFormatException ex) {
                    // 当文本不是以话数来显示的话, 就会直接显示出来
                    mUpdateTxt.setText("更新至" + epIndex);
                }
                // 观看人数
                mWatchCountTxt.setText(serializingItemBean.getWatchingCount() + "人在看");
            } else {
                // 追番人数
                mWatchCountTxt.setText(serializingItemBean.getFavourites() + "人追番");
            }
        }
    }

    /**
     * 返回数据信息类
     *
     * @return
     */
    public SerializingItemBean getData() {
        return mSerializingItemBean;
    }


}
